package cn.mw.cmdb.template.param;

import cn.mw.cmdb.template.enums.TriggerFunctionsDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Map;

/**
 * @description 触发器参数
 */
@Getter
@Setter
@Schema(name = "TriggerParam", description = "触发器参数")
public class TriggerParam {

    @Schema(description = "触发器ID")
    private String triggerid;
    @Schema(description = "触发器名称")
    private String description;
    @Schema(description = "事件名称")
    private String event_name;
    @Schema(description = "运营数据")
    private String opdata;
    @Schema(description = "严重性")
    private String priority;
    @Schema(description = "表达式")
    private String expression;
    @Schema(description = "事件成功迭代")
    private String recovery_mode;
    @Schema(description = "触发器恢复表达式")
    private String recovery_expression;
    @Schema(description = "事件生成模式")
    private String type;
    @Schema(description = "事件成功关闭")
    private String correlation_mode;
    @Schema(description = "用于匹配的标签")
    private String correlation_tag;
    @Schema(description = "允许手动关闭")
    private String manual_close;
    @Schema(description = "url")
    private String url;
    @Schema(description = "描述")
    private String comments;
    @Schema(description = "状态")
    private String status;
    @Schema(description = "发现状态")
    private String discover;
    @Schema(description = "标记")
    private List<Map> tags;
    @Schema(description = "目的触发器")
    private List<String> dependencies;
    @Schema(description = "模板ID")
    private String templateid;

    @Schema(description = "依赖数据")
    private List<TriggerParam> dependenciesData;

    List<TriggerFunctionsDto> functions;
}
